﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Threading;
using System.Threading.Tasks;

namespace WholeSlideImageLibrary.Features
{
    public interface IAssociatedImagesFeature
    {
        ValueTask<IEnumerable<string>> GetAllAssociatedImagesAsync(CancellationToken cancellationToken = default);
        ValueTask<Size> GetAssociatedImageSizeAsync(string name, CancellationToken cancellationToken = default);
        ValueTask ReadAssociatedImageAsync<T>(string name, Memory<T> buffer, CancellationToken cancellationToken = default) where T : unmanaged;
    }
}
